package com.agenda.model.repositories;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import com.agenda.model.entities.Contato;
import com.agenda.model.entities.Pessoal;

public class PessoalRepository {
	EntityManager manager;

	public PessoalRepository(EntityManager manager) {
		this.manager = manager;
	}

	public void adiciona(Pessoal pessoal) {
		this.manager.persist(pessoal);
	}

	public Pessoal atualiza(Pessoal pessoal) {
		return this.manager.merge(pessoal);
	}

	public void remove(Long id) {
		Pessoal pessoal = this.procura(id);
		Contato contato = this.procuraContato(id);
		this.manager.remove(pessoal);
		this.manager.remove(contato);
	}

	public Pessoal procura(Long id) {
		return this.manager.find(Pessoal.class, id);
	}

	private Contato procuraContato(Long id) {
		return this.manager.find(Contato.class, id);
	}

	public List<Pessoal> getList() {
		Query query = this.manager.createQuery("selext x from pessoal x");
		return query.getResultList();
	}
}
